/**
 * \file CTextRevWidget.h
 * \author Corentin Le Bail
 * \date 2009-2012
 * \brief Fichier de déclaration de la class CTextRevWidget
 */
//------------------------------------------------------------------------------
#ifndef __CTEXTREVWIDGET_H__
#define __CTEXTREVWIDGET_H__
//------------------------------------------------------------------------------
#include "CTextW.h"
#include "ui_CTextRevWidget.h"
//------------------------------------------------------------------------------
/**
 * \class CTextRevWidget CTextRevWidget.h "CTextRevWidget.h"
 * \brief Classe d'édition de texte avec révision.
 */
class CTextRevWidget : public CTextW, private Ui::TextRevWidget {
	Q_OBJECT
	public:
		/**
		 * \fn CTextRevWidget(QWidget *parent=0)
		 * \brief Constructeur
		 * \param[in] parent Référence vers un objet parent
		 */
		CTextRevWidget(QWidget *parent=0);
		/**
		 * \fn virtual void setValue(QString value)
		 * \brief Affecte le texte
		 * \param[in] value Le texte
		 */
		virtual void setValue(QString value);
		/**
		 * \fn void clearRevision(void)
		 * \brief Vide la liste des révisions
		 */
		void clearRevision(void);
		/**
		 * \fn void addRevision(QString revision)
		 * \brief Ajout une révision à la liste
		 * \param[in] revision Le numéro de la révision à ajouter
		 */
		void addRevision(QString revision);
		/**
		 * \fn void setToLastRevision(void)
		 * \brief Charge le texte de la dernière révision
		 */
		void setToLastRevision(void);
	private:
		bool manageRevision;
		
		void updateHtml(void);
	private slots:
		void on_text_textChanged(void);
		void on_cbRevision_currentIndexChanged(int index);
		void on_cmdSetToRev_clicked(bool checked = false);
		void on_webView_linkClicked(const QUrl & url);
	signals:
		/**
		 * \fn void loadRevision(QString revision)
		 * \brief Demande le chargement d'une révision
		 * \param[in] revision Le numéro de la révision à charger
		 */
		void loadRevision(QString revision);
};
//------------------------------------------------------------------------------
#endif //__CTEXTREVWIDGET_H__
//------------------------------------------------------------------------------